package com.jt.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class IndexController {
	
	/**
	 * <ul>
	        <li data-options="attributes:{'url':'/page/item-add'}">新增商品</li>
	        <li data-options="attributes:{'url':'/page/item-list'}">查询商品</li>
	        <li data-options="attributes:{'url':'/page/item-param-list'}">规格参数</li>
	   </ul>
	 */
	
	/*//1.实现商品新增跳转 
	@RequestMapping("/page/item-add")
	public String item_add() {
		
		return "item-add";
	}
	
	//2.实现商品list页面的跳转
	@RequestMapping("/page/item-list")
	public String item_list() {
		
		return "item-list";
	}*/
	
	/**
	 * 能否实现通用的页面跳转
	 * 思路:
	 * 	1.页面请求的数据地址/page/item-list 和返回值的页面地址相同的.
	 * 	2.如果可以动态的获取item-list数据信息,则可以直接返回数据,
	 * 
	 * 实现方案: 可以利用restFul风格实现该操作
	 * 语法:
	 * 		1.参数使用/分割
	 * 		2.参数使用{}包裹
	 * 		3.需要添加方法的参数,并且利用注解实现数据的转化
	 * 	简化说明:
	 * 		利用公共的api方法,实现了后台代码的简化
	 */
	@RequestMapping("/page/{moduleName}")	//如果名称与参数不一致可以利用value/name实现数据转化
	public String item_list(@PathVariable String moduleName) {
		
		return moduleName;
	}
	
	/**
	 * RestFul风格2
	 * 需求:利用RestFul风格能否简化用户的url请求.
	 *      能否使用一个url请求,即可以分别实现crud操作?
	 * 请求说明:
	 * 	1.新增  http://localhost:8091/user/saveUser?id=1&name=tomcat
	 *  2.删除  http://localhost:8091/user/deleteUser?id=1
	 *  3.修改  http://localhost:8091/user/updateUser?id=1&name=ccc
	 *  4.查询  http://localhost:8091/user/selectUser?id=1
	 *  
	 *  思路:
	 *  	url请求:http://localhost:8091/user   type=delete
	 *  	请求方式:  查询 GET,  提交 POST , 修改PUT,  删除DELETE
	 *  简化说明:简化了请求的方式.	
	 */
	
	//@RequestMapping(value="/user",method=RequestMethod.GET)
	/*@GetMapping("/user")
	public User getUserById(int id) {
		
		return user;
	}
	
	//@RequestMapping(value="/user",method=RequestMethod.DELETE)
	@DeleteMapping("/user")
	public User deleteUser(int id) {
		
		return user;
	}*/
	

}
